package com.virtium.vpc.dao;

import javax.servlet.ServletContext;

public abstract class DAOFactory {


	public abstract VpcCongigurationDAO getVpcCongigurationDAO();	

	public abstract VpcDensityDAO getVpcDensityDAO();	

	public abstract VpcModulerankDAO getVpcModulerankDAO();	

	public abstract VpcPackageDAO getVpcPackageDAO();	

	public abstract VpcProductDAO getVpcProductDAO();

	public abstract VpcProductstatusDAO getVpcProductstatusDAO();	

	public abstract VpcRevisiontypeDAO getVpcRevisiontypeDAO();

	public abstract VpcTechnologyDAO getVpcTechnologyDAO();	

	public abstract VpcRamdensityDAO getVpcRamdensityDAO();	

	public abstract VpcFormfactorDAO getVpcFormfactorDAO();
	
	public abstract VpcHeightDAO getVpcHeightDAO();
	
	public abstract VpcThicknessDAO getThicknessDAO();
	
	public abstract VpcSpeedDAO getVpcSpeedDAO();
	public abstract VpcSsdramdensityDAO getVpcSsdramdensityDAO();

	private static DAOFactory instance;
	protected static ServletContext servletCtxt;

	public static void setCtxt(ServletContext ctxt) {
		servletCtxt = ctxt;

	}

	public static DAOFactory getInstance() {

		if (instance == null) {

			System.out
					.println("***********DAOFactory : LOADING &&&&&&&&&&&&&&");

			instance = new com.virtium.vpc.dao.hibernate.HibernateDAOFactory();
		}
		return instance;
	}
}